Transformation of Database Entries for Improved Association with Related Content Items

ABSTRACT

A content analysis system includes processor and memory hardware storing data analyzed content items and instructions for execution by the processor hardware. The instructions include, in response to a first intermediate content item being analyzed to generate a first text description, receiving the first intermediate content item and analyzing the first text description to generate a first reduced text description. The instructions include identifying a first set of tags by applying a tag model to the first text description and generating a first analyzed content item. The instructions include adding the first analyzed content item to the analyzed content database and, in response to a displayed content item being associated with at least one tag of the first set of tags, displaying a first user-selectable link corresponding to the first analyzed content item on a portion of a user interface of a user device displaying the displayed content item.

FIELD

The present disclosure relates to transforming database entries and more particularly to analyzing database content items for improved viewing ability.

BACKGROUND

Content items, in particular videos, are published multiple times on a variety of platforms every day, leading to a quickly and ever-growing content repository. Traditional content item management strategies involve significant manual review efforts and cannot quickly adapt to changes in platform or review strategy. Thus, achieving beyond a high-level relationship between content items is inherently difficult, time consuming, and subject to variation among analysts reviewing content items.

The background description provided here is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.

SUMMARY

A content analysis system includes processor hardware and memory hardware coupled to the processor hardware. The memory hardware stores data for an analyzed content database including analyzed content items and instructions for execution by the processor hardware. The instructions include, in response to a first intermediate content item being analyzed to generate a first text description, receiving the first intermediate content item and analyzing the first text description of the first intermediate content item to generate a first reduced text description of the first intermediate content item. The instructions include identifying a first set of tags corresponding to the first text description of the first intermediate content item by applying a tag model to the first text description and generating a first analyzed content item including the first intermediate content item, the first reduced text description, and the first set of tags. The instructions include adding the first analyzed content item to the analyzed content database and, in response to a displayed content item being associated with at least one tag of the first set of tags, displaying a first user-selectable link corresponding to the first analyzed content item on a portion of a user interface of a user device displaying the displayed content item.

In other features, analyzing the first text description includes applying a machine learning algorithm trained with a training dataset including text descriptions and corresponding reduced transcripts. In other features, the first reduced text description is a summary displayed in an icon with the first user-selectable link.

In other features, the instructions include analyzing the first text description of the first intermediate content item to generate a first title text description, and the first title text description includes fewer terms than the first reduced text description. In other features, the memory hardware stores data for a content database including content items uploaded directly from an analyst device and intermediate content items. In other features, each intermediate content item includes a corresponding text description.

In other features, the instructions include, in response to a first content item being uploaded to the content database and the first content item including audio and generating the first text description of the first content item by applying a machine learning algorithm to the audio of the first content item. In other features, the content items of the content database include videos, audio, text, or a combination thereof.

In other features, the instructions include, in response to a threshold interval elapsing, obtaining a set of text transcripts corresponding to content items from the analyzed content database and identifying a new tag by applying an unstructured machine learning algorithm to the set of text transcripts. In other features, the instructions include, in response to identifying the new tag, generating and transmitting an indicator of the new tag to an analyst device. In other features, the instructions include, in response to receiving a confirmation of the new tag from the analyst device, adding the new tag to the tag model.

In other features, the indicator of the new tag includes a set of corresponding text transcripts indicating the new tag, and the confirmation includes a name of the new tag. In other features, the set of text transcripts include text transcripts corresponding to content items stored within a threshold time.

A content analysis method includes, in response to a first intermediate content item being analyzed to generate a first text description, receiving the first intermediate content item. The content analysis method includes analyzing the first text description of the first intermediate content item to generate a first reduced text description of the first intermediate content item and identifying a first set of tags corresponding to the first text description of the first intermediate content item by applying a tag model to the first text description. The content analysis method includes generating a first analyzed content item including the first intermediate content item, the first reduced text description, and the first set of tags and adding the first analyzed content item to an analyzed content database. Data for the analyzed content database includes analyzed content items. The content analysis method includes, in response to a displayed content item being associated with at least one tag of the first set of tags, displaying a first user-selectable link corresponding to the first analyzed content item on a portion of a user interface of a user device displaying the displayed content item.

In other features, analyzing the first text description includes applying a machine learning algorithm trained with a training dataset including text descriptions and corresponding reduced transcripts. In other features, the first reduced text description is a summary displayed in an icon with the first user-selectable link. In other features, the content analysis method includes analyzing the first text description of the first intermediate content item to generate a first title text description. The first title text description includes fewer terms than the first reduced text description.

In other features, data for a content database includes content items uploaded directly from an analyst device and intermediate content items, and each intermediate content item includes a corresponding text description. In other features, the content analysis method includes, in response to a first content item being uploaded to the content database and the first content item including audio, generating the first text description of the first content item by applying a machine learning algorithm to the audio of the first content item.

In other features, the content items of the content database include videos, audio, text, or a combination thereof. In other features, the content analysis method includes, in response to a threshold interval elapsing, obtaining a set of text transcripts corresponding to content items from the analyzed content database and identifying a new tag by applying an unstructured machine learning algorithm to the set of text transcripts.

In other features, the content analysis method includes, in response to identifying the new tag, generating and transmitting an indicator of the new tag to an analyst device. In other features, the content analysis method includes, in response to receiving a confirmation of the new tag from the analyst device, adding the new tag to the tag model.

Further areas of applicability of the present disclosure will become apparent from the detailed description, the claims, and the drawings. The detailed description and specific examples are intended for purposes of illustration only and are not intended to limit the scope of the disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure will become more fully understood from the detailed description and the accompanying drawings.

FIG. 1 is a high-level example block diagram of a content analysis system.

FIG. 2 is a representation of an example user interface for displaying content items on a content homepage.

FIGS. 3A-3B are representations of example video content items.

FIG. 4 is a functional block diagram of an example content analysis module.

FIG. 5 is a flowchart depicting example generation of a text transcript corresponding to audio.

FIG. 6 is a flowchart depicting example generation of a summary and a tag for a content item.

FIG. 7 is a flowchart depicting example identification of new tags for analyst review.

In the drawings, reference numbers may be reused to identify similar and/or identical elements.

DETAILED DESCRIPTION

An on-demand content analysis system receives content items to generate text transcripts, summaries, and tags for the content items. The generated summaries and tags improve user experience for users of platforms displaying the content items, for example, by classifying and recommending content items based on the corresponding tag. The tags can assist in identifying related content items and the summaries can provide a user with accurate information prior to viewing or consuming the content item, for example, to see if the user would like to watch the full video, read an entire article, listen to a podcast, etc. The transcripts, summaries, and tags are available in near real-time, allowing for rapid cross-platform dissemination and intelligent content curation.

The content analysis system receives content items, such as videos including audio, once the content items are uploaded to a content database. For example, a content item may be uploaded by an analyst from a computing device, such as a mobile phone, tablet, laptop, etc. In various implementations, content items may be live streamed and the content analysis system may receive the content item while it is being live streamed.

The content analysis system implements a machine learning algorithm (text generation model) to generate text from an audio portion of the content item, providing a text transcript of the content item. In various implementations, the content item may be an article or another type of content item excluding audio. Therefore, since the content item may exclude audio, the generation of the text transcript may be separate from a module or system generation a summary and tag. Then, for those content items excluding audio and already including a text transcript (article), the text transcript does not need to be generated, only a summary and tag(s). Iterative fine-tuning of the text generation module ensures progressively improved sensitivity to financial and trading vocabulary that standard speech-to-text engines do not detect.

The machine learning algorithm may implement natural language processing to generate the text and continues to learn from new content items. The machine learning algorithm may be trained using a training dataset including a variety of content items and corresponding text versions of the corresponding audio. In various implementations, the machine learning algorithm may be further trained using other content items, such as articles, podcasts, etc.

The machine learning algorithm may be specific to the platform and the type of content items. For example, for a financial platform, the machine learning algorithm will learn and encounter financial terms more frequently. Therefore, the machine learning algorithm that generates text for content items offered by the financial platform may be trained using financial content items, including videos, articles, etc.

Because the machine learning algorithm generates text to match speech included in the audio, an analyst no longer spends time listening to and watching the content item to type a transcript. Instead, the machine learning algorithm generates terms with corresponding timestamps of the audio to operate as closed captioning. In various implementations, the analyst can correct any errors in the text transcript, such as a term of art or a name, by inputting the phonetical spelling of the term or name and the corrected spelling, so the machine learning algorithm learns the sound of the word, phonetic spelling, and correct spelling.

Once the text transcript is generated for a content item, the content analysis system can analyze the generated text transcript using additional machine learning algorithms to generate a summary based on the text and a set of tags based on the text. For example, a summary model implementing another machine learning algorithm can generate a summary of the content item from the generated text transcript that includes speech from the audio of the content item. The generated summary may be displayed under the content item for a user to read prior to, for example, watching the content item. The summary model may generate a short and a long summary. The short summary may be a title of the content item. The automation of summary generation also reduces the burden on analysts to listen to or read transcripts and draft a summary for each content item.

Similar to the generated text transcript, the summary model may be trained using a training dataset including example summaries and corresponding transcripts. Additionally, the summary model may be trained to identify salient or key terms to include in the summary, based on frequency or importance.

Another machine learning algorithm may identify appropriate tags for the content item in order to classify the content item as related to other content items with the same tag. For example, a tag model may classify the content item based on the generated text transcript into one or more tags or categories and associate the content item with the identified tag or tags. Moreover, fine-tuning the summary model and tag model, like the text generation module, allows for the system to learn trading-relevant phrases that would be missed with standard approaches.

Additionally, the content analysis system may include an unstructured machine learning algorithm to identify new terms or phrases that indicate a new tag, for example, using K-means clustering. Once a cluster is identified, the identified term or phrase may be forwarded to an analyst for review and to generate a tag for the identified term or phrase. The analyst can then update the tag model, which is trained using training datasets including tags and associated text indicating the corresponding tag. In various implementations, the content analysis system may be implemented to generate text transcripts for phone calls, chat systems, etc. and summarize and tag those content items accordingly for faster review and identification of an intent for those items.

The content analysis system summarizes text and identifies topics, which are made available within seconds, to facilitate a quick turnaround to help load content items to a relevant site location and review processes. Once analyzed the content item, generated text transcript, summary, and associated tags can be uploaded to an analyzed content database, which is accessible by a corresponding platform or website. The content items may be presented on a user interface to a user of the platform and user-selectable links to related topics based on the tags of each content item are also displayed on the user interface. The recommended and related content items may be determined based on tags or user search history.

FIG. 1 is a high-level example block diagram of a content analysis system 100. A user can access a particular platform associated with an entity, for example, a financial instruction, using a user device 104. For example, the user may access, using the user device 104 via the Internet 108, a content display module 112 operated by the entity to view content items stored in an analyzed content database 116. The content items stored in the analyzed content database 116 have been analyzed by a content analysis module 120, using models stored in a model database 124.

The models stored in the model database 124 are used to analyze content items uploaded to a content database 128. The content items uploaded to the content database 128 may be uploaded by analysts using a computing device, such as the user device 104. Analysts may upload to the content database 128 or live stream content items to the content display module 112 using a mobile phone, tablet, laptop, etc.

The content analysis module 120 obtains content items uploaded to the content database 128 to analyze the content item using multiple models implementing machine learning algorithms. The models are stored in the model database 124. The models generate a text transcript of the content item to be displayed on a video of the content item when viewed by a user through the content display module 112. In various implementations, after generation of the text transcripts, the content items may optionally be temporarily stored in an intermediate content database 132 and analyzed further by a separate module.

From the generated text transcript, a summary model and a tag model generate a summary description of the content item and associated tags related to the content item, respectively. The analyzed content item, including the text transcript, the summary, and associated tags are uploaded in the analyzed content database 116. In various implementations, the analyzed content database 116 and the content database 128 may be a single database. The content display module 112 may obtain analyzed content items from the analyzed content database 116 for display to users via a platform, for example, through a web portal. The user device 104 can access, via the Internet 108, the content display module 112 to view content items.

FIG. 2 is a representation of an example user interface for displaying content items on a content homepage 200. In various implementations, the content homepage may be viewed on the user device 104 using the content display module 112 of FIG. 1. The content display module 112 of FIG. 1 obtains content items from the analyzed content database 116 for viewing. The content homepage 200 displays a content item 204, which may be a video, article, podcast, exclusively audio, chat transcript, etc. The content homepage 200 also includes a content item summary 208 and a set of tags 212-1, 212-2, 212-3, and 212-4, collectively 212.

The content homepage 200 may also include a related clips section 216. The related clips section 216 may include user-selectable links to other content items stored in the analyzed content database 116 of FIG. 1. The related clips section 216 may include content items that are associated with the set of tags 212 associated with the content item 204 being consumed.

FIGS. 3A-3B are representations of example video content items. FIG. 3A represents an example content item 300 before being analyzed by the content analysis system of FIG. 1. The content item 300 includes a content item identifier 304, audio of the content item 308, and a video of the content item 312. FIG. 3B depicts an analyzed content item 320. The analyzed content item includes the content item identifier 304, the audio of the content item 308, the video of the content item 312, text of the content item audio 324, a transformed video of the content item 328, a summary of the content item text 332, and a set of tags 336.

As described previously and in more detail below, the content item 300 is analyzed to generate the text of the content item audio 324, the summary of the content item text 332, and the set of tags 336. Additionally, the video of the content item 312 may be transformed into the transformed video of the content item 328, which includes the text of the content item audio 324 overlaid on the video of the content item 312.

FIG. 4 is a functional block diagram of an example content analysis module 120. The content analysis module 120 obtains content items from the content database 128. In various implementations, the content analysis module 120 may receive content items directly from user devices, which may be live streamed. The content analysis module 120 includes a speech determination module 404 for receiving the content item from the content database 128. The speech determination module 404 obtains a text generation model from the model database 124.

The text generation model implements a natural language processing machine learning algorithm to convert the audio of the content item into a text transcript. The text generation model may be trained using a training dataset including audio and corresponding text transcripts. The text generation model may further be trained using general audio and corresponding text transcripts as well as using platform specific training data. For example, the content analysis system 100 may be implemented on a financial platform. Therefore, the text generation model may be trained using audio and corresponding text transcripts associated with financial entities. In this way, the text generation model is improved for use on a financial platform.

Once the speech determination module 404 applies the text generation model to the audio of the content item, the speech determination module 404 associates the text transcript with the identifier of the content item and forwards the content item to a content transformation module 408. The content transformation module 408 may transform the video included in the content item to include the generated text transcript. That is, the content transformation module 408 may overlay the generated text transcript over the video of the content item.

In various implementations, the content transformation module 408 alters the video of the content item to include the generated text transcript. Alternatively, the content transformation module 408 generates a new video of the content item to include the original video and audio of the content item and overlay the generated text transcript over the original video. The transformed video is associated with the identifier of the content item.

The content transformation module 408 may forward the content item to a summary generation module 412. The content transformation module 408 may optionally store the content item, including the generated text transcript and the transformed video, in the intermediate content database 132. In the above implementation, the summary generation module 412 obtains content items from the intermediate content database 132. Additionally, in an implementation including the intermediate content database 132, the content analysis module 120 may be separated to process content items to generate the text transcript and generate summaries and tags in another, distinct module.

The summary generation module 412 obtains a summary model from the model database 124. The summary model implements a machine learning algorithm to generate a text summary describing the content item based on the generated text transcript. In various implementations, the summary model is trained using a training dataset of text transcripts and corresponding summaries.

As mentioned above, the summary model may also be trained using a training dataset specifically related to the type of platform. The summary generation module 412 applies the summary model to the text transcript of the content item and associates the generated summary with the identifier of the content item. In various implementations, the summary generation module 412 generates a short summary and a long summary. For example, the short summary may be used as a title of the content item while the long summary may be displayed as a description.

The summary generation module 412 forwards the content item to a tag identification module 420. The tag identification module 420 obtains a tag model from the model database 124. The tag model implements a machine learning algorithm to identify a set of tags associated with the text transcript of the content item. The tag model may be trained using a recognized set of tags and associated content items corresponding to each of the tags. For example, on a financial platform, the tags may include options, strangles, straddles, and risk profile, as shown in FIG. 2. The tags may further include other key terms identified across text transcript training data.

Once the tag identification module 420 applies the tag model to the text transcript of the content item, the identified set of tags are associated with the content item. The analyzed content item is then stored in the analyzed content database 116. The content display module 112 can obtain the analyzed content item from the analyzed content database 116 for viewing by a user on the corresponding platform. The content display module 112 may also obtain related analyzed content items for recommendation to a user via the user interface based on the set of tags associated with the displayed content item.

In various implementations, the content analysis module 120 may include a tag model update module 424. The tag model update module 424 may implement unsupervised learning such as K-means clustering, to cluster key terms of text transcripts to identify new tags from the analyzed content items stored in the analyzed content database 116. For example, the tag model update module 424 may obtain a set of analyzed content items from the analyzed content database 116 to identify new or trending terms that may qualify as a new tag.

The tag model update module 424 generates and transmits a new tag alert to an analyst device if a potential new tag is identified. The alert may include the new tag along with content items that correspond to the new tag. An analyst may manually review the new tag and corresponding content items to approve or deny the creation of the new tag. If the new tag is approved, the tag model update module 424 updates the tag model of the model database 124 to include the new tag. The tag model update module 424 may also update the identified content items of the analyzed content database 116 to include the new tag.

In various implementations, the tag model update module 424 may generate and transmit an alert including the text transcripts of the corresponding content items in which a new tag was identified. Then, the analyst can review the content items to determine a name of the new tag. Then, the analyst would return the name of the new tag to the tag model update module 424 along with which of the content items that the new tag corresponds.

The content analysis module 120 may also include a term update module 428. The term update module 428 allows an analyst to alter a term included in the text generation model. That is, if the analyst is viewing a content item and notices that the text transcript includes an incorrect word, such as a misspelling of a name or a financial term, the analyst can update the term by including a phonetic spelling and correct spelling of the term. The corrected and phonetic spelling of the corresponding term are received by the term update module 428 and the text generation model is updated and taught the correct spelling (and perceived spelling) of the term.

FIG. 5 is a flowchart depicting example generation of a text transcript corresponding to audio content items. Control begins in response to a new content item being uploaded to a particular database. In various implementations, control may begin in response to receiving the new content item, which is directly uploaded for analysis. Once the new content item is uploaded, control obtains the new or updated content item at 504. As new content items are uploaded, previous content items may be updated and uploaded. At 508, control generates a text transcript of audio of the new content item using a machine learning model.

Control proceeds to 512 to add the text transcript to video of the content item for display. As described above, the text transcript may overlay the video. In various implementations, the text transcript includes time points indicating the time at which each term in the text transcript is being recited in the audio. Control then continues to 516 to transform and upload the content item to an intermediate content database. That is, the transformed content item may be stored in a separate, intermediate content database prior to additional analyses. Then, control ends. In various implementations, FIGS. 5 and 6 may be optionally combined if a single module analyzes the content items one at a time to generate the text transcript, the summary, and the set of tags, removing the intermediate content database. Additionally or alternatively, the content item is analyzed to generate a text transcript and the summary and set of tags are generated in memory via application programming interface (API) calls to improve analysis of the content items.

FIG. 6 is a flowchart depicting example generation of a summary and a tag for a content item. Control begins in response to receiving an indication that the text transcript of the content item is complete. At 604, control obtains the content item from the intermediate content database, which includes the corresponding text transcript. Control continues to 608 to obtain a summary model. At 612, control generates a summary of the content items by applying the summary model to the text transcript. In various implementations, control generates a short summary, for example, a title, and a long summary. The long summary may be displayed along with a title of the content item, allowing the user to read a short description and title of the content item prior to consuming or watching.

Control continues to 616 to obtain a tag model. At 620, control identifies a set of tags of the content item by applying the tag model to the text transcript. Control proceeds to 624 to generate the analyzed content item including the content item (and text transcript generated in FIG. 5), the summary, and the set of tags. Control continues to 628 to upload the analyzed content item to a database. Then, control ends.

FIG. 7 is a flowchart depicting example identification of new tags for analyst review. Control begins at threshold intervals. For example, control may be performed hourly, daily, etc. At 704, control obtains text transcripts for a set of content items. For example, control may obtain text transcripts for content items over a threshold period, such as the previous day, to determine if a new tag or a new summary should be generated based on a new term or phrase trending throughout the recent content items.

Control continues to 708 to identify a new tag or a new summary by applying an unstructured machine learning algorithm to the text transcripts. Then, at 720, control continues to generate an alert and forward the new tag or new summary to an analyst for review.

Control proceeds to 724 to wait to receive a response from the analyst. That is, control determines if a response from the analyst was received. If no, control waits. If yes, control continues to 728 to determine if the analyst approved the new tag or the new summary. If no, control ends. If yes, control continues to 732 to update the corresponding model based on the identified new tag or new summary or generate a new model based on the new tag or the new summary. That is, as a result of the identified new tag or new summary, a new model may be created which may be stored in a model database. Alternatively, the new tag or new summary may be used to update existing machine learning models. Then, control ends.

In various implementations, the response received from the analyst may identify a missing tag or a different summary instead of approving suggested new tags and suggested new summaries. For example, the analyst may review the text transcripts indicating the new tag and identify a different tag that should be applied or associated with those transcript. Further, the analyst may review the text transcripts the new summary is based on and suggest a different summary. The analyst would then include the different tag or summary in their response.

The foregoing description is merely illustrative in nature and is in no way intended to limit the disclosure, its application, or uses. The broad teachings of the disclosure can be implemented in a variety of forms. Therefore, while this disclosure includes particular examples, the true scope of the disclosure should not be so limited since other modifications will become apparent upon a study of the drawings, the specification, and the following claims. It should be understood that one or more steps within a method may be executed in different order (or concurrently) without altering the principles of the present disclosure. Further, although each of the embodiments is described above as having certain features, any one or more of those features described with respect to any embodiment of the disclosure can be implemented in and/or combined with features of any of the other embodiments, even if that combination is not explicitly described. In other words, the described embodiments are not mutually exclusive, and permutations of one or more embodiments with one another remain within the scope of this disclosure.

Spatial and functional relationships between elements (for example, between modules) are described using various terms, including “connected,” “engaged,” “interfaced,” and “coupled.” Unless explicitly described as being “direct,” when a relationship between first and second elements is described in the above disclosure, that relationship encompasses a direct relationship where no other intervening elements are present between the first and second elements, and also an indirect relationship where one or more intervening elements are present (either spatially or functionally) between the first and second elements. The phrase at least one of A, B, and C should be construed to mean a logical (A OR B OR C), using a non-exclusive logical OR, and should not be construed to mean “at least one of A, at least one of B, and at least one of C.”

In the figures, the direction of an arrow, as indicated by the arrowhead, generally demonstrates the flow of information (such as data or instructions) that is of interest to the illustration. For example, when element A and element B exchange a variety of information but information transmitted from element A to element B is relevant to the illustration, the arrow may point from element A to element B. This unidirectional arrow does not imply that no other information is transmitted from element B to element A. Further, for information sent from element A to element B, element B may send requests for, or receipt acknowledgements of, the information to element A. The term subset does not necessarily require a proper subset. In other words, a first subset of a first set may be coextensive with (equal to) the first set.

In this application, including the definitions below, the term “module” or the term “controller” may be replaced with the term “circuit.” The term “module” may refer to, be part of, or include processor hardware (shared, dedicated, or group) that executes code and memory hardware (shared, dedicated, or group) that stores code executed by the processor hardware.

The module may include one or more interface circuits. In some examples, the interface circuit(s) may implement wired or wireless interfaces that connect to a local area network (LAN) or a wireless personal area network (WPAN). Examples of a LAN are Institute of Electrical and Electronics Engineers (IEEE) Standard 802.11-2016 (also known as the WWI wireless networking standard) and IEEE Standard 802.3-2015 (also known as the ETHERNET wired networking standard). Examples of a WPAN are IEEE Standard 802.15.4 (including the ZIGBEE standard from the ZigBee Alliance) and, from the Bluetooth Special Interest Group (SIG), the BLUETOOTH wireless networking standard (including Core Specification versions 3.0, 4.0, 4.1, 4.2, 5.0, and 5.1 from the Bluetooth SIG).

The module may communicate with other modules using the interface circuit(s). Although the module may be depicted in the present disclosure as logically communicating directly with other modules, in various implementations the module may actually communicate via a communications system. The communications system includes physical and/or virtual networking equipment such as hubs, switches, routers, and gateways. In some implementations, the communications system connects to or traverses a wide area network (WAN) such as the Internet. For example, the communications system may include multiple LANs connected to each other over the Internet or point-to-point leased lines using technologies including Multiprotocol Label Switching (MPLS) and virtual private networks (VPNs).

In various implementations, the functionality of the module may be distributed among multiple modules that are connected via the communications system. For example, multiple modules may implement the same functionality distributed by a load balancing system. In a further example, the functionality of the module may be split between a server (also known as remote, or cloud) module and a client (or, user) module. For example, the client module may include a native or web application executing on a client device and in network communication with the server module.

The term code, as used above, may include software, firmware, and/or microcode, and may refer to programs, routines, functions, classes, data structures, and/or objects. Shared processor hardware encompasses a single microprocessor that executes some or all code from multiple modules. Group processor hardware encompasses a microprocessor that, in combination with additional microprocessors, executes some or all code from one or more modules. References to multiple microprocessors encompass multiple microprocessors on discrete dies, multiple microprocessors on a single die, multiple cores of a single microprocessor, multiple threads of a single microprocessor, or a combination of the above.

Shared memory hardware encompasses a single memory device that stores some or all code from multiple modules. Group memory hardware encompasses a memory device that, in combination with other memory devices, stores some or all code from one or more modules.

The term memory hardware is a subset of the term computer-readable medium. The term computer-readable medium, as used herein, does not encompass transitory electrical or electromagnetic signals propagating through a medium (such as on a carrier wave); the term computer-readable medium is therefore considered tangible and non-transitory. Non-limiting examples of a non-transitory computer-readable medium are nonvolatile memory devices (such as a flash memory device, an erasable programmable read-only memory device, or a mask read-only memory device), volatile memory devices (such as a static random access memory device or a dynamic random access memory device), magnetic storage media (such as an analog or digital magnetic tape or a hard disk drive), and optical storage media (such as a CD, a DVD, or a Blu-ray Disc).

The apparatuses and methods described in this application may be partially or fully implemented by a special purpose computer created by configuring a general purpose computer to execute one or more particular functions embodied in computer programs. The functional blocks and flowchart elements described above serve as software specifications, which can be translated into the computer programs by the routine work of a skilled technician or programmer.

The computer programs include processor-executable instructions that are stored on at least one non-transitory computer-readable medium. The computer programs may also include or rely on stored data. The computer programs may encompass a basic input/output system (BIOS) that interacts with hardware of the special purpose computer, device drivers that interact with particular devices of the special purpose computer, one or more operating systems, user applications, background services, background applications, etc.

The computer programs may include: (i) descriptive text to be parsed, such as HTML (hypertext markup language), XML (extensible markup language), or JSON (JavaScript Object Notation), (ii) assembly code, (iii) object code generated from source code by a compiler, (iv) source code for execution by an interpreter, (v) source code for compilation and execution by a just-in-time compiler, etc. As examples only, source code may be written using syntax from languages including C, C++, C#, Objective C, Swift, Haskell, Go, SQL, R, Lisp, Java®, Fortran, Perl, Pascal, Curl, OCaml, JavaScript®, HTML5 (Hypertext Markup Language 5th revision), Ada, ASP (Active Server Pages), PHP (PHP: Hypertext Preprocessor), Scala, Eiffel, Smalltalk, Erlang, Ruby, Flash®, Visual Basic®, Lua, MATLAB, SIMULINK, and Python®. 

1. A content analysis system comprising: processor hardware; and memory hardware coupled to the processor hardware, the memory hardware having an analyzed content database and computer readable instructions stored thereon, the analyzed content database including a plurality of analyzed content items; and the processor hardware is configured to execute the computer readable instructions to cause the system to, generate a first text description of a first intermediate content item based on analysis of the entire contents of the first intermediate content item, generate a first reduced text description of the first intermediate content item based on analysis of the first text description; identify a first set of tags corresponding to the first text description of the first intermediate content item by applying a tag model to the first text description; generate a first analyzed content item including the first intermediate content item, the first reduced text description, and the first set of tags; add the first analyzed content item to the analyzed content database; and in response to a displayed content item being associated with at least one tag of the first set of tags, display a first user-selectable link corresponding to the first analyzed content item on a portion of a user interface of a user device displaying the displayed content item, the displayed content item being different than the first intermediate content item.
 2. The content analysis system of claim 1 wherein the processor hardware is further configured to execute the computer readable instructions to cause the system to: apply a machine learning algorithm trained with a training dataset including text descriptions and corresponding reduced transcripts to perform the generation of the first reduced text description.
 3. The content analysis system of claim 1 wherein the first reduced text description is a summary displayed in an icon with the first user-selectable link.
 4. The content analysis system of claim 1 wherein: the instructions include analyzing the first text description of the first intermediate content item to generate a first title text description, and the first title text description includes fewer terms than the first reduced text description.
 5. The content analysis system of claim 1 wherein the processor hardware is further configured to execute the computer readable instructions to cause the system to: store at least one content item data to a content database, the content database including a plurality of content items uploaded directly from an analyst device and a plurality of intermediate content items, and each intermediate content item includes a corresponding text description.
 6. The content analysis system of claim 5 wherein processor hardware is further configured to execute the computer readable instructions to cause the system to: in response to a first content item being uploaded to the content database and the first content item including audio, generate the first text description of the first content item by applying a machine learning algorithm to the audio of the first content item.
 7. The content analysis system of claim 5 wherein the content items of the content database include videos, audio, text, or any combinations thereof.
 8. The content analysis system of claim 1 wherein the processor hardware is further configured to execute the computer readable instructions to cause the system to: in response to a threshold interval elapsing, obtain a set of text transcripts corresponding to content items from the analyzed content database; and identify a new tag by applying an unstructured machine learning algorithm to the set of text transcripts.
 9. The content analysis system of claim 8 wherein the processor hardware is further configured to execute the computer readable instructions to cause the system to: in response to identifying the new tag, generate and transmit an indicator of the new tag to an analyst device; and in response to receiving a confirmation of the new tag from the analyst device, adding the new tag to the tag model.
 10. The content analysis system of claim 9 wherein: the indicator of the new tag includes a set of corresponding text transcripts indicating the new tag, and the confirmation includes a name of the new tag.
 11. The content analysis system of claim 8 wherein the set of text transcripts include text transcripts corresponding to content items stored within a threshold time.
 12. A content analysis method comprising: generating a first text description of a first intermediate content item baaed on analysis of the entire contents of the first intermediate content item; generating a first reduced text description of the first intermediate content item based on analysis of the first text description; identifying a first set of tags corresponding to the first text description of the first intermediate content item by applying a tag model to the first text description; generating a first analyzed content item including the first intermediate content item, the first reduced text description, and the first set of tags; adding the first analyzed content item to an analyzed content database, wherein the analyzed content database includes a plurality of analyzed content items; and in response to a displayed content item being associated with at least one tag of the first set of tags, displaying a first user-selectable link corresponding to the first analyzed content item on a portion of a user interface of a user device displaying the displayed content item, the displayed content item being different than the first intermediate content item.
 13. The content analysis method of claim 12, wherein the generating the first reduced text description further includes: applying a machine learning algorithm trained with a training dataset including text descriptions and corresponding reduced transcripts to perform the generation of the first reduced text description.
 14. The content analysis method of claim 12 wherein the first reduced text description is a summary displayed in an icon with the first user-selectable link.
 15. The content analysis method of claim 12 further comprising: analyzing the first text description of the first intermediate content item to generate a first title text description, and wherein the first title text description includes fewer terms than the first reduced text description.
 16. The content analysis method of claim 12, further comprising: storing at least one content item in a content database, the content database including a plurality of content items uploaded directly from an analyst device and a plurality of intermediate content items, and each intermediate content item includes a corresponding text description.
 17. The content analysis method of claim 16 further comprising, in response to a first content item being uploaded to the content database and the first content item including audio: generating the first text description of the first content item by applying a machine learning algorithm to the audio of the first content item.
 18. The content analysis method of claim 16 wherein the content items of the content database include videos, audio, text, or any combinations thereof.
 19. The content analysis method of claim 12 further comprising, in response to a threshold interval elapsing: obtaining a set of text transcripts corresponding to content items from the analyzed content database; and identifying a new tag by applying an unstructured machine learning algorithm to the set of text transcripts.
 20. The content analysis method of claim 19 further comprising, in response to identifying the new tag: generating and transmitting an indicator of the new tag to an analyst device; and in response to receiving a confirmation of the new tag from the analyst device, adding the new tag to the tag model. 